package yw.substart.example.util;

import com.alibaba.fastjson.JSONObject;

/**
 * Created by liwq on 16/12/16.
 */
public class MessageUtil {

    public static final String RETURN_DEFAULT_CODE_FOR_TRUE = "successful";
    public static final String RETURN_DEFAULT_CODE_FOR_FALSE = "failed";
    public static final String RETURN_DEFAULT_MESSAGE_FOR_TRUE = "请求成功";
    public static final String RETURN_DEFAULT_MESSAGE_FOR_FALSE = "请求失败";

    /**
     * 统一返回消息
     *
     * @param hello
     * @return 返回默认消息
     */
    public static JSONObject defaultReturnMessage(boolean hello) {
        JSONObject root = new JSONObject();
        if (hello) {
            root.put("code", RETURN_DEFAULT_CODE_FOR_TRUE);
            root.put("message", RETURN_DEFAULT_MESSAGE_FOR_TRUE);
            root.put("data", new JSONObject());
        } else {
            root.put("code", RETURN_DEFAULT_CODE_FOR_FALSE);
            root.put("message", RETURN_DEFAULT_MESSAGE_FOR_FALSE);
            root.put("data", new JSONObject());
        }
        return root;
    }

    /**
     *  默认为错误消息
     * @param message
     * @return 返回默认消息
     */
    public static JSONObject defaultReturnMessage(String message) {
        JSONObject root = new JSONObject();
        root.put("code", RETURN_DEFAULT_CODE_FOR_FALSE);
        root.put("message", message);
        root.put("data", new JSONObject());
        return root;
    }

    /**
     * 统一返回消息
     *
     * @param hello
     * @param object
     * @return
     */
    public static JSONObject defaultReturnMessage(boolean hello, Object object) {
        JSONObject root = new JSONObject();
        if (hello) {
            root.put("code", RETURN_DEFAULT_CODE_FOR_TRUE);
            if (object instanceof String) {
                root.put("message", object.toString());
                root.put("data", new JSONObject());
            } else {
                root.put("message", RETURN_DEFAULT_MESSAGE_FOR_TRUE);
                root.put("data", object);
            }
        } else {
            root.put("code", RETURN_DEFAULT_CODE_FOR_FALSE);
            root.put("message", object);
            root.put("data", new JSONObject());
        }
//        return root.toString();
        return root;
    }

    /**
     * 返回统一消息
     *
     * @param hello   是否成功
     * @param message 消息
     * @param data    数据
     * @return
     */
    public static JSONObject defaultReturnMessage(boolean hello, String message, Object data) {
        JSONObject root = new JSONObject();
        if (hello) {
            root.put("code", RETURN_DEFAULT_CODE_FOR_TRUE);
            root.put("message", message);
            root.put("data", data);
        } else {
            root.put("code", RETURN_DEFAULT_CODE_FOR_FALSE);
            root.put("message", message);
            root.put("data", data);
        }
//        return root.toString();
        return root;
    }


}
